/**
 * @param {String} str (y-m-d h:i:s) y:年 m:月 d:日 h:时 i:分 s:秒
 */
let getDateTime = {
  dateTimeStr (str) { // y:年 m:月 d:日 h:时 i:分 s:秒 中间的分割符号可更改
    var date = new Date();
    var year = date.getFullYear(); // 年
    var month = date.getMonth() + 1; // 月
    var day = date.getDate(); // 日
    var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); // 时
    var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); // 分
    var second = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); // 秒
    month = month >= 1 && month <= 9 ? (month = '0' + month) : month;
    day = day >= 0 && day <= 9 ? (day = '0' + day) : '';
    if (str.indexOf('y') !== -1) {
      str = str.replace('y', year)
    }
    if (str.indexOf('m') !== -1) {
      str = str.replace('m', month)
    }
    if (str.indexOf('d') !== -1) {
      str = str.replace('d', day)
    }
    if (str.indexOf('h') !== -1) {
      str = str.replace('h', hour)
    }
    if (str.indexOf('i') !== -1) {
      str = str.replace('i', minute)
    }
    if (str.indexOf('s') !== -1) {
      str = str.replace('s', second)
    }
    return str;
  },
  GetDateDiff (startTime, endTime, diffType) { // 时间差
    // 将xxxx-xx-xx的时间格式，转换为 xxxx/xx/xx的格式
    startTime = startTime.replace(/-/g, '/');
    endTime = endTime.replace(/-/g, '/');
    // 将计算间隔类性字符转换为小写
    diffType = diffType.toLowerCase();
    var sTime = new Date(startTime); // 开始时间
    var eTime = new Date(endTime); // 结束时间
    // 作为除数的数字
    var divNum = 1;
    switch (diffType) {
      case 'second':
        divNum = 1000;
        break;
      case 'minute':
        divNum = 1000 * 60;
        break;
      case 'hour':
        divNum = 1000 * 3600;
        break;
      case 'day':
        divNum = 1000 * 3600 * 24;
        break;
      default:
        break;
    }
    return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
  },
  happenTimeFun (num) { // 时间戳数据处理
    let date = new Date(num);
    // 时间戳为10位需*1000，时间戳为13位的话不需乘1000
    // let y = date.getFullYear();
    // let MM = date.getMonth() + 1;
    // MM = MM < 10 ? ('0' + MM) : MM; // 月补0
    // let d = date.getDate();
    // d = d < 10 ? ('0' + d) : d; // 天补0
    let h = date.getHours();
    h = h < 10 ? ('0' + h) : h; // 小时补0
    let m = date.getMinutes();
    m = m < 10 ? ('0' + m) : m; // 分钟补0
    let s = date.getSeconds();
    s = s < 10 ? ('0' + s) : s; // 秒补0
    return h + ':' + m + ':' + s;
  },
  timeStamp (value) {
    var date = new Date(value); // 时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var year = date.getFullYear();
    var month = ('0' + (date.getMonth() + 1)).slice(-2);
    var sdate = ('0' + date.getDate()).slice(-2);
    var hour = ('0' + date.getHours()).slice(-2);
    var minute = ('0' + date.getMinutes()).slice(-2);
    var second = ('0' + date.getSeconds()).slice(-2);
    // 拼接
    var result = year + '-' + month + '-' + sdate + ' ' + hour + ':' + minute + ':' + second;
    // 返回
    return result;
  },
  // 时间戳转换  y-m-d
  timestampToTime (timestamp) {
    var date = new Date(timestamp); // 时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
    return Y + M + D;
  },
  timeWeek () {
    let week = new Date().getDay();
    let weeklist = ['日', '一', '二', '三', '四', '五', '六'];
    let weekData = weeklist[week];
    // 返回
    return weekData;
  }
}
export default getDateTime
